	export default {
		isAttached(element) {
			let currentNode = element.parentNode;
			while (currentNode) {
				if (currentNode.tagName === 'HTML') {
					return true;
				}
				if (currentNode.nodeType === 11) {
					return false;
				}
				currentNode = currentNode.parentNode;
			}
			return false;
		},

		getScrollLeft(element) {
			return 'scrollLeft' in element ? element.scrollLeft : element.pageXOffset;
		},

		getVisibleHeight(element) {
			return element === window ? element.innerHeight : element.getBoundingClientRect().height;
		},

		getVisibleWidth(element) {
			return element === window ? element.innerWidth : element.getBoundingClientRect().width;
		},
	}
